package com.zecan.blog.dao;

import com.zecan.blog.entity.Article;
import com.zecan.blog.entity.GoodCount;

import java.util.List;
import java.util.Map;

/**
 * @ClassName ArticelMapper
 * @Description
 * @date 2022/10/28 16:54
 * @Version 1.0
 */
public interface ArticleMapper {

    // 逻辑删除文章 set status = 1
    Integer updateArticleStatus(Integer articleId);

    //    插入文章
    Integer insertArticle(Article article);

    // 添加点赞数量
    Integer updateArticleLikeCount(List<GoodCount> goodCountList);

    // 修改文章
    Integer updateArticleMsg(Article article);

    //查询文章是否存在
    Integer checkArticleIsExist(Integer articleId);

    // 根据前端的offset limit 进行查询文章信息
    List<Article> findArticleList(Integer offset, Integer limit);

    // 根据用户点击页面单独的文章 进行查询文章信息
    Article findArticle(Integer articleId);

    // 查询文章数量
    Integer findArticleCount();

    // 根据用户id 查询用户文章信息
    List<Article> findArticleListByUserId(Long userId, Integer offset, Integer limit);

    // 根据用户id获取用户文章的内容
    String findUserArticleContent(Integer articleId);

    Integer findUserArticleCount(Long userId);

    //获取用户的收藏夹信息
    List<Article> findArticleListByUserIdStar(Long userId, Integer offset, Integer limit);

    //获取文章归档信息
    List<Article> findArticleArchives();

    // 更新文章的浏览量
    Integer updateArticlesView(List<Map<String,Object>> maps);


}
